package com.pipa.producto.dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.pipa.catalogo.entity.TipoProducto;
import com.pipa.producto.entity.Producto;
import com.pipa.util.MySQLConexion;

public class ProductoDAO {
	
	public List<Producto> getProductos() throws SQLException{
		PreparedStatement pstm = MySQLConexion.getConexion().prepareStatement("select * from tmenu left join ttabd on tbiden='TIPMEN' and tbespe=mentit");
		ResultSet rs = pstm.executeQuery();
		List<Producto> listado = new ArrayList<Producto>();
		while(rs.next()){
			Producto producto = new Producto();
			producto.setMencve(rs.getString("mencve"));
			producto.setMennom(rs.getString("mennom"));
			producto.setMencon(rs.getString("mencon"));
			producto.setMenpre(rs.getDouble("menpre"));
			producto.setMensit(rs.getString("mensit"));
			producto.setMentit(new TipoProducto(rs.getString("tbespe"), rs.getString("desesp")));
			listado.add(producto);
		}
		rs.close();
		pstm.close();
		return listado;
	}
	
	public int registrarProducto(Producto producto) throws SQLException{
		PreparedStatement pstm = MySQLConexion.getConexion().prepareStatement(
				"insert into tmenu(mencve,mennom,mencon,menpre,mensit,mentit) values(?,?,?,?,?,?)");
		pstm.setString(1, producto.getMencve());
		pstm.setString(2, producto.getMennom());
		pstm.setString(3, producto.getMencon());
		pstm.setDouble(4, producto.getMenpre());
		pstm.setString(5, producto.getMensit());
		pstm.setString(6, producto.getMentit().getCodigo());
		int resultado = pstm.executeUpdate();
		pstm.close();
		return resultado;
	}
	
	public int modificarProducto(Producto producto) throws SQLException{
		PreparedStatement pstm = MySQLConexion.getConexion().prepareStatement(
				"update tmenu set mennom=?,mencon=?,menpre=?,mensit=?,mentit=? where mencve=? ");
		pstm.setString(1, producto.getMennom());
		pstm.setString(2, producto.getMencon());
		pstm.setDouble(3, producto.getMenpre());
		pstm.setString(4, producto.getMensit());
		pstm.setString(5, producto.getMentit().getCodigo());
		pstm.setString(6, producto.getMencve());
		int resultado = pstm.executeUpdate();
		pstm.close();
		return resultado;
	}

}
